package cn.xopencode.recordservice.rpc.drytransformer;

import cn.xopencode.common.framework.vo.CommonResult;
import cn.xopencode.common.framework.vo.PageResult;
import cn.xopencode.recordservice.rpc.drytransformer.dto.DryTransformerRecordCreateDTO;
import cn.xopencode.recordservice.rpc.drytransformer.dto.DryTransformerRecordPageDTO;
import cn.xopencode.recordservice.rpc.drytransformer.dto.DryTransformerRecordUpdateDTO;
import cn.xopencode.recordservice.rpc.drytransformer.vo.DryTransformerRecordAdminPageVO;
import cn.xopencode.recordservice.rpc.drytransformer.vo.DryTransformerRecordPageVO;
import cn.xopencode.recordservice.rpc.drytransformer.vo.DryTransformerRecordUpdateVO;
import cn.xopencode.recordservice.rpc.robotroom.dto.AdminRecordPageDTO;

/**
 * 10KV干式变压器巡检记录 RPC
 */
public interface DryTransformerRecordRpc {
    /**
     * 新增10KV干式变压器巡检记录
     *
     * @param createDTO
     * @return
     */
    CommonResult<Integer> createDryTransformerRecord(DryTransformerRecordCreateDTO createDTO);

    /**
     * 获得10KV干式变压器巡检记录分页
     *
     * @param pageDTO
     * @return
     */
    CommonResult<PageResult<DryTransformerRecordPageVO>> pageDryTransformerRecord(DryTransformerRecordPageDTO pageDTO);

    /**
     * 根据记录id获取10KV干式变压器巡检记录详情
     * @param id
     * @return
     */
    CommonResult<DryTransformerRecordUpdateVO> getDryTransformerRecordById(String id);

    /**
     * 更新10KV干式变压器记录信息
     *
     * @param updateDTO
     * @return
     */
    CommonResult<Integer> updateDryTransformerRecord(DryTransformerRecordUpdateDTO updateDTO);

    /**
     * 处理 10KV干式变压器巡检记录 中的异常，在巡检记录中只是改变状态
     * @param recordId
     * @return
     */
    CommonResult<Integer> dealDryTranformerRecordException(String recordId);

    /**
     * 后台--根据查询条件 分页获取所有的10KV干式变压器巡检记录
     * @param pageDTO
     * @return
     */
    CommonResult<PageResult<DryTransformerRecordAdminPageVO>> getAdminPageDryTranformerRecord(AdminRecordPageDTO pageDTO);
}
